package alugaveis;

import exceptions.ParametroNegativoException;
import exceptions.ParametroVazioException;

/**
 * Classe que representa uma midia DVD de Filme.
 * 
 * @author MateusGomes
 * 
 */
public class DVD extends Filme {

	private static final long serialVersionUID = 1L;

	private static double precoDVD = 3.0;

	/**
	 * Cria um DVD com as informacoes do filme.
	 * 
	 * @param titulo
	 *            Titulo do filme.
	 * @param preco
	 *            Preco de alguel do filme.
	 * @param anoLancamento
	 *            Ano de lancamento do filme.
	 * @param censura
	 *            Censura do filme.
	 * @param lancamento
	 *            True caso o filme seja lancamento, false caso contrario.
	 * @param copias
	 *            Quantidade de copias do objeto existentes para aluguel.
	 * @param duracao
	 *            Duracao do filme.
	 * @param nacionalidade
	 *            Nacionalidade do filme.
	 * @param dublado
	 *            True caso o filme seja dublado, false caso contrario.
	 * @param legendado
	 *            True caso o filme seja legendado, false caso contrario.
	 * @param genero
	 *            Genero do filme.
	 * @throws ParametroNegativoException
	 * @throws ParametroVazioException
	 */
	public DVD(String titulo, double preco, int anoLancamento, int censura,
			boolean lancamento, int copias, int duracao, String nacionalidade,
			boolean dublado, boolean legendado, GeneroFilme genero)
			throws ParametroVazioException, ParametroNegativoException {
		super(titulo, precoDVD, anoLancamento, censura, lancamento, copias,
				duracao, nacionalidade, dublado, legendado, genero);

		if (titulo == null || titulo.trim().equals("") || nacionalidade == null
				|| nacionalidade.trim().equals(""))
			throw new ParametroVazioException();
		if (preco <= 0 || anoLancamento <= 0 || censura <= 0 || copias <= 0
				|| duracao <= 0)
			throw new ParametroNegativoException();
	}

	public double getPreco() {
		return precoDVD;
	}

}
